package entity

import (
	"time"
	"wms/pb"
)

type StockOut struct {
	StockOutID    int64          `gorm:"primaryKey;column:stock_out_id;type:bigint;not null"` // 出库表单id
	AuditStatus   pb.AuditStatus `gorm:"column:audit_status;type:tinyint unsigned"`           // 1待审核;2通过;3拒绝
	StockOutNo    string         `gorm:"column:stock_out_no;type:varchar(128)"`               // 出库单号
	StockOutType  string         `gorm:"column:stock_out_type;type:varchar(32)"`              // 出库类型
	StockOutTime  string         `gorm:"column:stock_out_time;type:varchar(32)"`              // 出库时间
	ContractParty string         `gorm:"column:contract_party;type:varchar(32)"`              // 签约时间
	ProjectName   string         `gorm:"column:project_name;type:varchar(32)"`                // 项目名称
	ContractNo    string         `gorm:"column:contract_no;type:varchar(32)"`                 // 合同号
	ReceivingDept string         `gorm:"column:receiving_dept;type:varchar(16)"`              // 领用部门
	Recipient     string         `gorm:"column:recipient;type:varchar(16)"`                   // 领用人
	Staff         string         `gorm:"column:staff;type:varchar(64)"`                       // 出库人员
	Reviewer      string         `gorm:"column:reviewer;type:varchar(64)"`                    // 审核人员
	SkuList       []byte         `gorm:"column:sku_list;type:json"`                           // 列表
	GatewayVerEnv string         `gorm:"column:gateway_ver_env;type:varchar(8)"`              // 网关版本环境
	IsUseSim      string         `gorm:"column:is_use_sim;type:varchar(8)"`                   // 是否使用SIM卡
	SimEnv        string         `gorm:"column:sim_env;type:varchar(8)"`                      // SIM卡环境
	SimAreaUpate  string         `gorm:"column:sim_area_upate;type:varchar(8)"`               // SIM卡区域修改
	IsNeedAirWire string         `gorm:"column:is_need_air_wire;type:varchar(8)"`             // 是否准备天线
	SimCardCount  string         `gorm:"column:sim_card_count;type:varchar(8)"`               // SIM卡数量
	AirWireCount  string         `gorm:"column:air_wire_count;type:varchar(8)"`               // 天线数量
	AuditAt       time.Time      `gorm:"column:audit_at;type:datetime;default:NULL"`          // 最后审核时间
	CreatedAt     time.Time      `gorm:"column:created_at;type:datetime"`                     // 创建
	UpdatedAt     time.Time      `gorm:"column:updated_at;type:datetime"`                     // 修改
}

func (m *StockOut) TableName() string {
	return "stock_out"
}
